// mfcappView.h : interface of the CMfcappView class
//
/////////////////////////////////////////////////////////////////////////////




class CMfcappView : public CView
{
protected: // create from serialization only
	CMfcappView();
	DECLARE_DYNCREATE(CMfcappView)

// Attributes
public:


	CMfcappDoc* GetDocument();

	// global image params
	BYTE *m_buf;
	UINT m_width;
	UINT m_height;
	UINT m_widthDW;

	// draw what we've loaded
	void DrawBMP();
	
	// jpg load save
	void LoadJPG(CString fileName);
	void SaveJPG(CString filename, BOOL color);

	// gif load save
	void LoadGIF(CString fileName);
	void SaveGIF(CString filename);
	
	void LoadBMP(CString fileName);
	void SaveBMP24(CString fileName);

	// turn 24-bit to 256-color gray scale
	BYTE * MakeColormappedGrayscale(BYTE *inBuf,
								  UINT inWidth,
								  UINT inHeight,
								  UINT inWidthBytes,
								  UINT colors,
								  RGBQUAD* colormap);

	// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMfcappView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
	virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMfcappView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CMfcappView)
	afx_msg void OnFileOpen();
	afx_msg void OnFileSaveAs();
	afx_msg void OnFileSavegrayJPGas();
	afx_msg void OnFileGetdimensionsjpg();
	afx_msg void OnFileSavecolormappedbmp();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in mfcappView.cpp
inline CMfcappDoc* CMfcappView::GetDocument()
   { return (CMfcappDoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////
